home *** CD-ROM | disk | FTP | other *** search
/ Medical Power Pack / Medical Power Pack.iso / famdoc.mst < prev    next >
Encoding:
Text File  |  1992-11-25  |  13.4 KB  |  373 lines

  1. '**************************************************************************
  2. '*                       Family Doctor Toolbook Setup
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST NOVGA         = 1200
  19. CONST NOMOUSE       = 1300
  20. CONST INSTTBOOK     = 1400
  21. CONST DESTPATH2     = 1500
  22. CONST APPHELP2      = 1600
  23. CONST APPHELP3      = 1700
  24. CONST APPHELP4      = 1800
  25. CONST CHECK         = 2500
  26. CONST TOOBIG        = 6300
  27. CONST BADPATH       = 6400
  28.  
  29. ''Bitmap ID
  30. CONST LOGO = 1
  31.  
  32. GLOBAL DEST$        ''Default destination directory.
  33. GLOBAL OPTCUR$      ''Option selection from option dialog.
  34. GLOBAL CHECKIN$
  35. GLOBAL CHECKOUT$
  36. GLOBAL DEST2$
  37. GLOBAL FD_Flag16$
  38. GLOBAL FD_Flag256$
  39. GLOBAL DP_Flag$
  40. GLOBAL TBookFlag$
  41. GLOBAL WINDOWS$
  42. GLOBAL WSYSTEM$
  43.  
  44.  
  45. DECLARE SUB Install
  46. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  47.  
  48.  
  49. INIT:
  50.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  51.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  52.  
  53. ''    SetBitmap CUIDLL$, LOGO
  54.     SetTitle "The Family Doctor Install"
  55.  
  56.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  57.     IF szInf$ = "" THEN
  58.         szInf$ = GetSymbolValue("STF_CWDDIR") + "FAMDOC.INF"
  59.     END IF
  60.     ReadInfFile szInf$
  61.  
  62.     OPTCUR$ = "1"
  63.     DEST$ = "C:\DISCPASS"
  64.     DEST2$ = "C:\DISCPASS"
  65.     CHECKIN$ = "CheckItemsIn"
  66.     CHECKOUT$ = "CheckItemsOut"
  67.     WINDOWS$ = GetWindowsDir()
  68.     WSYSTEM$ = GetWindowsSysDir()
  69.  
  70. WELCOME:
  71.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  72.     IF sz$ = "CONTINUE" THEN
  73.         UIPop 1
  74.     ELSE
  75.         GOSUB ASKQUIT
  76.         GOTO WELCOME
  77.     END IF
  78.  
  79.     IF HasMonochromeDisplay() THEN
  80.         '' must have COLOR Display of VGA or Better
  81.         sz$ = UIStartDlg(CUIDLL$, NOVGA, "FInfoDlgProc", APPHELP, HELPPROC$)
  82.         UIPop 1
  83.         GOTO QUIT
  84.     END IF
  85.     IF GetScreenHeight() < 480 THEN
  86.         '' Must have VGA or Better display
  87.         sz$ = UIStartDlg(CUIDLL$, NOVGA, "FInfoDlgProc", APPHELP, HELPPROC$)
  88.         UIPop 1
  89.         GOTO QUIT
  90.     END IF
  91.     IF GetScreenWidth() < 640 THEN
  92.         '' Must have VGA or Better Display
  93.         sz$ = UIStartDlg(CUIDLL$, NOVGA, "FInfoDlgProc", APPHELP, HELPPROC$)
  94.         UIPop 1
  95.         GOTO QUIT
  96.     END IF
  97. ''    IF HasMouseInstalled() = 0 THEN
  98. ''        '' Must have Mouse Installed
  99. ''        sz$ = UIStartDlg(CUIDLL$, NOMOUSE, "FInfoDlgProc", APPHELP, HELPPROC$)
  100. ''        UIPop 1
  101. ''        GOTO QUIT
  102. ''    END IF
  103.  
  104.  
  105. OPTION:
  106.     CHECKIN$ = "CheckItemsIn"
  107.     '' SetSymbolValue "CheckDefault", OPTCUR$
  108.     SetSymbolValue "CheckItemsIn", CHECKIN$
  109.     SetSymbolValue "OptionsGreyed", OPTGREY$
  110.     SetSymbolValue "CheckItemsOut", CHECKOUT$
  111.     
  112.     FOR I% = 1 TO 3 STEP 1
  113.         AddListItem CHECKIN$, "ON"
  114.     NEXT I% 
  115.     ReplaceListItem CHECKIN$, 1, "ON"   
  116.  
  117. OPTL1:
  118.     sz$ = UIStartDlg(CUIDLL$, CHECK, "FCheckDlgProc", APPHELP4, HELPPROC$)
  119.     CHECKOUT$ = GetSymbolValue("CheckItemsOut")
  120.  
  121.     IF sz$ = "CONTINUE" THEN
  122.         UIPop(1)
  123.     ELSE
  124.         GOSUB ASKQUIT
  125.         GOTO OPTION
  126.     END IF
  127.     FD_Flag16$ = GetListItem("CheckItemsOut", 1)
  128.     FD_Flag256$ = GetListItem("CheckItemsOut", 2)
  129.     DP_Flag$ = GetListItem("CheckItemsOut", 3)
  130.  
  131. IF ((FD_Flag16$ = "ON") OR (FD_Flag256$ = "ON")) THEN
  132. TBOOK1:
  133.     TBookFlag$ = UIStartDlg(CUIDLL$, INSTTBOOK, "FInfoDlgProc", APPHELP, HELPPROC$)
  134.     '' i% = DoMsgBox(TBookFlag$ , MB_OK+MB_TASKMODAL+MB_ICONHAND)
  135.     UIPop 1
  136. END IF
  137.  
  138. '' DO THIS IF INSTALLING DP AND/OR INSTALLING RUNTIME FILES
  139. IF TBookFlag$ = "CONTINUE" THEN
  140. GETPATH2:
  141.     SetSymbolValue "EditTextIn", DEST2$
  142.     SetSymbolValue "EditFocus", "END"
  143. GETPATHL2:
  144.     sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", APPHELP3, HELPPROC$)
  145.     DEST2$ = GetSymbolValue("EditTextOut")
  146.  
  147.     IF sz$ = "CONTINUE" THEN
  148.         IF IsDirWritable(DEST$) = 0 THEN
  149.             GOSUB BADPATH
  150.             GOTO GETPATHL2
  151.         END IF
  152.         UIPop 1
  153.     ELSEIF sz$ = "REACTIVATE" THEN
  154.         GOTO GETPATHL2
  155.     ELSEIF sz$ = "BACK" THEN
  156.         UIPop 1
  157.         GOTO OPTL1
  158.     ELSE
  159.         GOSUB ASKQUIT
  160.         GOTO GETPATH
  161.     END IF
  162. END IF
  163.  
  164. IF DP_Flag$ = "ON" THEN
  165. GETPATH:
  166.     SetSymbolValue "EditTextIn", DEST$
  167.     SetSymbolValue "EditFocus", "END"
  168. GETPATHL1:
  169.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP2, HELPPROC$)
  170.     DEST$ = GetSymbolValue("EditTextOut")
  171.  
  172.     IF sz$ = "CONTINUE" THEN
  173.         IF IsDirWritable(DEST$) = 0 THEN
  174.             GOSUB BADPATH
  175.             GOTO GETPATHL1
  176.         END IF
  177.         UIPop 1
  178.     ELSEIF sz$ = "REACTIVATE" THEN
  179.         GOTO GETPATHL1
  180.     ELSEIF sz$ = "BACK" THEN
  181.         UIPop 1
  182.         GOTO GETPATH2
  183.     ELSE
  184.         GOSUB ASKQUIT
  185.         GOTO GETPATH
  186.     END IF
  187. END IF
  188.  
  189.     Install
  190.  
  191.  
  192. QUIT:
  193.     ON ERROR GOTO ERRQUIT
  194.  
  195.     IF ERR = 0 THEN
  196.         dlg% = EXITSUCCESS
  197.     ELSEIF ERR = STFQUIT THEN
  198.         dlg% = EXITQUIT
  199.     ELSE
  200.         dlg% = EXITFAILURE
  201.     END IF
  202. QUITL1:
  203.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  204.     IF sz$ = "REACTIVATE" THEN
  205.         GOTO QUITL1
  206.     END IF
  207.     UIPop 1
  208.  
  209.     END
  210.  
  211. ERRQUIT:
  212.     i% = DoMsgBox("Setup sources were corrupted, call CMC at 1-503-241-4351!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  213.     END
  214.  
  215.  
  216.  
  217. BADPATH:
  218.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  219.     IF sz$ = "REACTIVATE" THEN
  220.         GOTO BADPATH
  221.     END IF
  222.     UIPop 1
  223.     RETURN
  224.  
  225.  
  226.  
  227. ASKQUIT:
  228.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  229.  
  230.     IF sz$ = "EXIT" THEN
  231.         UIPopAll
  232.         ERROR STFQUIT
  233.     ELSEIF sz$ = "REACTIVATE" THEN
  234.         GOTO ASKQUIT
  235.     ELSE
  236.         UIPop 1
  237.     END IF
  238.     RETURN
  239.  
  240.  
  241.  
  242. '**
  243. '** Purpose:
  244. '**     Builds the copy list and performs all installation operations.
  245. '** Arguments:
  246. '**     none.
  247. '** Returns:
  248. '**     none.
  249. '*************************************************************************
  250. SUB Install STATIC
  251.  
  252.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  253.     IF ((DEST$ <> "") AND (FD_FLAG$ = "ON")) THEN
  254.         CreateDir DEST$, cmoNone
  255.     END IF
  256.     IF ((DEST2$ <> "") AND (TBookFlag = "CONTINUE")) THEN
  257.         CreateDir DEST2$, cmonone
  258.     END IF
  259. IF DP_FLAG$ = "ON" THEN
  260.   SetRestartDir DEST$
  261. ELSE
  262.     IF TBookFlag$ = "CONTINUE" THEN
  263.            SetRestartDir DEST2$
  264.     END IF
  265. END IF
  266.  
  267.     ''OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  268.     ''WriteToLogFile ""
  269.     ''WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  270.     ''WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  271.     ''WriteToLogFile ""
  272.     ''WriteToLogFile "May have had to create the directory: " + DEST$
  273.     ''WriteToLogFile ""
  274. '' build ini file
  275.  
  276.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "initialPosition", "33,65", cmoOverwrite
  277.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "numberOfBitmaps", "9", cmoOverwrite
  278.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "invert", "1",cmoOverwrite
  279.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap0", "0,0;81;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon1.bmp", cmoOverwrite
  280.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap1", "0,1;101;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon2.bmp", cmoOverwrite
  281.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap2", "0,2;85;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon3.bmp", cmoOverwrite
  282.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap3", "0,3;103;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon4.bmp", cmoOverwrite
  283.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap4", "0,4;100;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon5.bmp", cmoOverwrite
  284.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap5", "0,5;102;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon6.bmp", cmoOverwrite
  285.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap6", "0,6;104;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon7.bmp", cmoOverwrite
  286.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap7", "0,7;2732;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon8.bmp", cmoOverwrite
  287.     CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap8", "0,8;29;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon9.bmp", cmoOverwrite
  288.  
  289. '' This is the second set of options for the ini file
  290. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "initialPosition", "33,65", cmoOverwrite
  291. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "numberOfBitmaps", "9", cmoOverwrite
  292. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "invert", "0",cmoOverwrite
  293. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap0", "0,0;81;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon1.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon1i.bmp;", cmoOverwrite
  294. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap1", "0,1;101;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon2.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon2i.bmp;", cmoOverwrite
  295. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap2", "0,2;85;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon3.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon3i.bmp;", cmoOverwrite
  296. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap3", "0,3;103;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon4.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon4i.bmp;", cmoOverwrite
  297. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap4", "0,4;100;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon5.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon5i.bmp;", cmoOverwrite
  298. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap5", "0,5;102;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon6.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon6i.bmp;", cmoOverwrite
  299. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap6", "0,6;104;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon7.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon7i.bmp;", cmoOverwrite
  300. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap7", "0,7;2732;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon8.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon8i.bmp;", cmoOverwrite
  301. ''    CreateIniKeyValue MakePath(WINDOWS$,"famdoc.ini"), "ToolBar", "bitmap8", "0,8;29;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon9.bmp;" + GetSymbolValue("STF_SRCDIR") + "tbook\icon9i.bmp;", cmoOverwrite
  302.  
  303.  
  304.     ClearCopyList
  305.     IF DP_Flag$ = "ON" THEN
  306.         AddSectionFilesToCopyList "DPSG",GetSymbolValue("STF_SRCDIR") + "dpsg\", DEST$
  307.         AddSectionFilesToCopyList "DPSG1",GetSymbolValue("STF_SRCDIR") + "dpsg\", WINDOWS$
  308. ''        CopyFilesInCopyList
  309. ''        ClearCopyList
  310.     END IF
  311.     
  312.     IF TBookFlag$ = "CONTINUE" THEN
  313.         AddSectionFilesToCopyList "TBOOK",GetSymbolValue("STF_SRCDIR") + "tbook\", DEST2$
  314. ''        AddSectionFilesToCopyList "TBOOK1", GetSymbolValue("STF_SRCDIR") + "tbook\", WINDOWS$
  315.         AddSectionFilesToCopyList "FONTS", GetSymbolValue("STF_SRCDIR") + "tbook\", WSYSTEM$
  316. ''        CopyFilesInCopyList
  317. ''        ClearCopyList
  318.     END IF
  319.    
  320.     '' Need to write to .INI file for FAMDOC.
  321.     IF TBookFlag$ = "CONTINUE" THEN
  322.         CreateIniKeyValue GetWindowsDir() + "FAMDOC.INI", "INIT", "Location", MakePath(DEST2$,"TBOOK\"), cmoOverwrite
  323.     ELSE
  324.         CreateIniKeyValue GetWindowsDir() + "FAMDOC.INI", "INIT", "Location", MakePath(GetSymbolValue("STF_SRCDIR"),"TBOOK\"),cmoOverwrite
  325.         DEST2$ = MakePath(GetSymbolValue("STF_SRCDIR"), "tbook\")
  326.     END IF
  327.  
  328.     CopyFilesInCopyList
  329.  
  330. IF ((FD_Flag16$ = "ON") OR (FD_Flag256$ = "ON") OR (DP_Flag$ = "ON")) THEN
  331.     CreateProgmanGroup "CMC", "", cmoNone
  332.     ShowProgmanGroup  "CMC", 1, cmoNone
  333. END IF
  334. IF FD_Flag16$ = "ON" THEN
  335.     CreateProgmanItem "CMC", "The Family Doctor 16 Color", MakePath(DEST2$,"tbook.exe")+" "+MakePath(GetSymbolValue("STF_SRCDIR"),"tbook\fd16.tbk"), MakePath(DEST2$,"MD.ICO"), cmoOverwrite
  336. END IF
  337. IF FD_FLAG256$ = "ON" THEN
  338.     CreateProgmanItem "CMC", "The Family Doctor 256 Color", MakePath(DEST2$,"tbook.exe")+" "+MakePath(GetSymbolValue("STF_SRCDIR"),"tbook\fd256.tbk"), MakePath(DEST2$,"MD.ICO"), cmoOverwrite
  339. END IF
  340. IF DP_Flag$ = "ON" THEN
  341.     CreateProgmanItem "CMC", "DiscPassage for DOS",MakePath(DEST$,"DPSG.EXE"), MakePath(WINDOWS$,"DP.ICO"), cmoOverwrite
  342. END IF
  343.  
  344.  
  345.     CloseLogFile
  346.  
  347. END SUB
  348.  
  349.  
  350.  
  351. '**
  352. '** Purpose:
  353. '**     Appends a file name to the end of a directory path,
  354. '**     inserting a backslash character as needed.
  355. '** Arguments:
  356. '**     szDir$  - full directory path (with optional ending "\")
  357. '**     szFile$ - filename to append to directory
  358. '** Returns:
  359. '**     Resulting fully qualified path name.
  360. '*************************************************************************
  361. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  362.     IF szDir$ = "" THEN
  363.         MakePath = szFile$
  364.     ELSEIF szFile$ = "" THEN
  365.         MakePath = szDir$
  366.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  367.         MakePath = szDir$ + szFile$
  368.     ELSE
  369.         MakePath = szDir$ + "\" + szFile$
  370.     END IF
  371. END FUNCTION
  372.  
  373.